home *** CD-ROM | disk | FTP | other *** search
/ Supercompiler 1997 / SUPERCOMPILER97.iso / Delphi 3.0 / DATA.Z / SERVINTF.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1997-01-30  |  1.4 KB  |  66 lines

  1. unit ServIntf;
  2.  
  3. { EmpservLib Library }
  4. { Version 1.0 }
  5.  
  6. interface
  7.  
  8. uses Windows, ActiveX, Classes, Graphics, OleCtrls, StdVCL;
  9.  
  10. const
  11.   LIBID_ServIntf: TGUID = '{53BC6560-5B3E-11D0-9FFC-00A0248E4B9A}';
  12.  
  13. const
  14.  
  15. { Component class GUIDs }
  16.   Class_EmpServer: TGUID = '{53BC6562-5B3E-11D0-9FFC-00A0248E4B9A}';
  17.  
  18. type
  19.  
  20. { Forward declarations }
  21.   IEmpServer = interface;
  22.   DEmpServer = dispinterface;
  23.  
  24. { Dispatch interface for EmpServer Object }
  25.  
  26.   IEmpServer = interface(IDispatch)
  27.     ['{53BC6561-5B3E-11D0-9FFC-00A0248E4B9A}']
  28.     function Get_Employees: IProvider; safecall;
  29.     property Employees: IProvider read Get_Employees;
  30.   end;
  31.  
  32. { DispInterface declaration for Dual Interface IEmpServer }
  33.  
  34.   DEmpServer = dispinterface
  35.     ['{53BC6561-5B3E-11D0-9FFC-00A0248E4B9A}']
  36.     property Employees: IProvider readonly dispid 1;
  37.   end;
  38.  
  39. { EmpServerObject }
  40.  
  41.   EmpServer = IEmpServer;
  42.  
  43.   CoEmpServer = class
  44.     class function Create: IEmpServer;
  45.     class function CreateRemote(const MachineName: string): IEmpServer;
  46.   end;
  47.  
  48.  
  49.  
  50. implementation
  51.  
  52. uses ComObj;
  53.  
  54. class function CoEmpServer.Create: IEmpServer;
  55. begin
  56.   Result := CreateComObject(Class_EmpServer) as IEmpServer;
  57. end;
  58.  
  59. class function CoEmpServer.CreateRemote(const MachineName: string): IEmpServer;
  60. begin
  61.   Result := CreateRemoteComObject(MachineName, Class_EmpServer) as IEmpServer;
  62. end;
  63.  
  64.  
  65. end.
  66.